// Programa.: IDCPRA02
// BIBLIOTECA.: SISP
// Sistema: Sistema de Informacoes de Seguranca Publica - SISP
// Analista.: Solon
// Programador: Bruno Data: 28/11/97
// Objetivo.: Atualiza nomes de mae invalidos com 12 ASTERISCOS
package br.com.vti.sisp_sicrim.antigo.controller.programa;

import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.vti.sisp_sicrim.antigo.model.DidCadastro;
import br.com.vti.sisp_sicrim.antigo.util.ExceptionProgram;
import br.com.vti.sisp_sicrim.antigo.util.Sessao;
import br.com.vti.sisp_sicrim.antigo.util.Sisgsisp;
import br.com.vti.sisp_sicrim.antigo.util.UtilBean;

/**
 * Classe : Idcpra02 Objetivo.: Atualiza nomes de mae invalidos com 12 ASTERISCOS *
 * 
 * @author Incode - Data: mai/2014
 * 
 */
@Resource
@Path("/antigo/idcpra02")
public class Idcpra02 {
	// Views utilizadas
	DidCadastro vwDidcad = new DidCadastro();
	// Telas/paginas utilizadas
	// Includes utilizados
	// Areas globais / session
	Sisgsisp sisgsisp;
	// Funcoes/subrotinas

	Result result;
	Sessao sessao;
	Boolean primeiraVez = false;
	private int wI;
	private int wCont;
	private String wFlag;
	private String wNommae;

	public Idcpra02(Result result, Sessao sessao) {
		this.result = result;
		this.sessao = sessao;
	}

	@Post
	public void executar() {
		try {
			main();
		} catch (Exception e) {
			throw new ExceptionProgram(e, sessao, this.getClass().getSimpleName());
		}
	}

	private void main() throws Exception {
		while (vwDidcad.leituraPhysicalSequence()) {
			wNommae = vwDidcad.getNomeMae();
			wFlag = "T";
			for (wI = 0; wI <= 60 - 1; wI++) {
				if (UtilBean.validarMascara(UtilBean.subStr(wNommae, wI, 1), "A")) {
					wFlag = "F";
				}
			}
			if (wFlag.equals("T")) {
				if (!vwDidcad.getNomeMae().equals("************")) {
					vwDidcad.setNomeMae("************");
					vwDidcad.atualiza();
					// //dao.commit();
					wCont += 1;
				}
			} else {
				// //dao.rollback();
			}
		}
		UtilBean.mensagemTexto("Registros Atualizados " + String.valueOf(wCont));
		return;
	}
}
